Reporting systems and decision support systems have been developed to efficiently retrieve selected information from data warehouses. One type of decision support system is known as an on-line analytical processing system (“OLAP”). In general, OLAP systems analyze the data from a number of different perspectives and support complex analyses against large input data sets. OLAP systems generate output upon execution of a report that includes a template to indicate the way to present the output and a filter to specify the conditions of data on which the report is to be processed.
Reports may be extremely complicated and require many seconds, minutes, and sometimes even hours to process. Designing such complex reports is labor intensive. Further, in current systems, once a report is designed, if a user desires to change the template, filter, or any other sub-object or component, a completely new report must be created through the same laborious tasks. Although some report writing wizards have been developed in this field, those wizards also must be programmed and often only provide specific options from which a report designer may choose. Accordingly, the report writing wizards are often not useful to the report designer that generates a complex report. The inflexibility of current report creation systems is a drawback of current OLAP. Other drawbacks with current systems exist as well.